import util from "../../util";
export default class formulaModel {
    constructor() {
        this.util=util;
    }
    static create(){
        let object=new formulaModel();
        return object;
    }
    static serviceItemTpl() {
        return {
            action: 'query',
            model: '',
            condition: '',
            pointer: {},
            result: {
                type: 'list',
                path: '',
                var: 'res0',
            }
        }
    }
    /**
     * 新增模板
     */
    static tpl(){
        return {
            // state: {},
            // param: {},
            params: [
                formulaModel.serviceItemTpl()
            ],
            expression: '',
            saveToField: 'df_result'
        }
    }
    static serviceModelTpl(){
        return [
            {
                label:'实体模型',
                value:'entity',
                children:[
                    {
                        label:'创建',
                        value:'add',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            param:{
                                name:''
                            },
                            saveTo:''
                        }
                    },
                    {
                        label:'指定删除',
                        value:'deleteByName',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            param:{
                                name:''
                            },
                        }
                    },
                    {
                        label:'引入删除',
                        value:'deleteById',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            param:{
                                id:''
                            },
                        }
                    },
                    {
                        label:'条件删除',
                        value:'delete',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            condition:'',
                            param: {}
                        }
                    },
                    {
                        label:'指定查询',
                        value:'queryByName',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            param:{
                                name:''
                            },
                            saveTo:''
                        }
                    },
                    {
                        label:'引入查询',
                        value:'queryById',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            param:{
                                id:''
                            },
                            saveTo:''
                        }
                    },
                    {
                        label:'条件查询',
                        value:'query',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            condition:'',
                            param: {},
                            saveTo:''
                        }
                    },
                    {
                        label:'订阅',
                        value:'runSubscribe',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            param:{
                                id:'',
                                name:'',
                                subscribeModel:'',
                                pointer:{}
                            },
                        }
                    },
                    {
                        label:'取消订阅',
                        value:'runUnsubscribe',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            param:{
                                id:'',
                                name:'',
                            },
                        }
                    }
                ]
            },
            {
                label:'模板模型',
                value:'template',
                children:[
                    {
                        label:'创建',
                        value:'add',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            param:{
                                name:''
                            },
                            saveTo:''
                        }
                    },
                    {
                        label:'指定删除',
                        value:'deleteByName',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            param:{
                                name:''
                            },
                        }
                    },
                    {
                        label:'引入删除',
                        value:'deleteById',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            param:{
                                id:''
                            },
                        }
                    },
                    {
                        label:'条件删除',
                        value:'delete',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            condition:'',
                            param: {}
                        }
                    },
                    {
                        label:'指定查询',
                        value:'queryByName',
                        config:{
                            refModel:{
                                // type:'',
                                // className:'',
                            },
                            param:{
                                name:''
                            },
                            saveTo:''
                        }
                    },
                    {
                        label:'引入查询',
                        value:'queryById',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            param:{
                                id:''
                            },
                            saveTo:''
                        }
                    },
                    {
                        label:'条件查询',
                        value:'query',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            condition:'',
                            param: {},
                            saveTo:''
                        }
                    },
                    {
                        label:'订阅',
                        value:'runSubscribe',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            param:{
                                id:'',
                                name:'',
                                subscribeModel:'',
                                pointer:{}
                            },
                        }
                    },
                    {
                        label:'取消订阅',
                        value:'runUnsubscribe',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            param:{
                                id:'',
                                name:'',
                            },
                        }
                    },,
                    {
                        label:'注册',
                        value:'runRegister',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            param:{
                                name:'',
                                registerModel:'',
                                pointer:{}
                            },
                        }
                    },
                    {
                        label:'注销',
                        value:'runUnregister',
                        config:{
                            refModel:{
                                type:'',
                                className:'',
                            },
                            param:{
                                name:'',
                            },
                        }
                    }
                ]
            },
        ]
    }
}